A data storage system typically includes storage devices and one or more network storage servers or storage appliances. A storage server may provide services related to the organization of data on storage devices, such as disks. A client may connect to the storage server via a network, for example, to request data to be stored on the storage devices and to request data to be retrieved from the storage devices. Some of these storage servers are commonly referred to as filers or file servers. The storage server may be implemented with a special-purpose computer or a general-purpose computer. Such storage systems typically use file systems to organize and provide easy access to the files they contain.
The speed at which a data storage system can handle the storage and retrieval of data depends on such factors as the amount of memory available to the data storage system. A storage server in the storage system may use such memory, for example, to store data before writing the data to a storage device, or while performing requested operations on data retrieved from a storage device. As the number and capacity of storage devices in the data storage system increase, the ability of the data storage system to handle larger quantities of data may be limited by the amount of available memory.
One possible solution is to simply increase the amount of memory available to the data storage system by physically including additional memory modules. However, such memory modules may be very costly, such that adding memory modules to the system may not result in an improvement in performance commensurate with the cost of adding the memory.
In other cases, increasing the size of the memory may not be possible because other limitations of the storage server. For example, additional memory may not be addressable by an operating system beyond a particular address, or a physical slot for installing the memory may not be available on the storage server.